package com.xidian.zhiancloud.model.workTicket;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

@Data
@TableName("t_high")
public class HighTicket {
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 多租户id
     */
    private Long CompanyId;

    /**
     * 作业票类型
     */
    private Integer workTicketType;

    // 1. 申请人填写部分
    /**
     * 作业名称
     */
    private String workName;

//    /**
//     * 申请单位名称
//     */
//    private String applicantUnitName;

    /**
     * 申请单位id
     */
    private Long applicantUnitId;

    /**
     * 申请人
     */
    private Long applicantId;

    /**
     * 申请人填写的姓名
     */
    private String applicantName;

    /**
     * 作业证编号。string类型，自动生成，公司id + 年 + 月 + 日 + 部门 + 作业票类型 + 4位数字
     */
    private String workNumber;

    /**
     * 计划作业开始时间
     */
    private Date expectStartTime;

    /**
     * 计划作业结束时间
     */
    private Date expectEndTime;

    /**
     * 涉及的其他特殊作业。由申请人手动输入，有多个，后端存入一个string类型，有跳转功能
     */
    private String relateWorkNum;

    /**
     * 作业地点
     */
    private String position;

    /**
     * 作业内容
     */
    private String workContent;

    /**
     * 作业高度
     */
    private String high;

    /**
     * 作业类别。按“是否存在客观危险因素”分为A类与B类，影响作业级别判断
     */
    private Integer workCategory;

    /**
     * 作业级别
     */
    private Integer workLevel;

    // 2
    // 2.1 作业人
    /**
     * 作业人签字。可以有多个作业人
     */
    private String workerSign;

    // 2.2 监护人
    /**
     * 监护人签字
     */
    private String superviseSign;


    // 3
    // 3.1 危害辨识，属地单位签字
    /**
     * 危害辨识1
     */
    private String danger1;

    /**
     * 危害辨识1签字
     */
    private String danger1Sign;

    // 3.2 危害辨识，作业单位签字
    /**
     * 危害辨识2
     */
    private String danger2;

    /**
     * 危害辨识2签字
     */
    private String danger2Sign;

    // 4. 作业单位负责人
    /**
     * 确认人1签字
     */
    private String measure1Sign;

    /**
     * 确认人2签字
     */
    private String measure2Sign;

    /**
     * 确认人3签字
     */
    private String measure3Sign;

    /**
     * 确认人4签字
     */
    private String measure4Sign;

    /**
     * 确认人5签字
     */
    private String measure5Sign;

    /**
     * 确认人6签字
     */
    private String measure6Sign;

    /**
     * 确认人7签字
     */
    private String measure7Sign;

    /**
     * 确认人8签字
     */
    private String measure8Sign;

    /**
     * 确认人9签字
     */
    private String measure9Sign;

    /**
     * 确认人10签字
     */
    private String measure10Sign;

    /**
     * 确认人11签字
     */
    private String measure11Sign;

    /**
     * 确认人12签字
     */
    private String measure12Sign;

    /**
     * 确认人13签字
     */
    private String measure13Sign;

    /**
     * 其他安全措施14
     */
    private String otherMeasure;

    /**
     * 其他安全措施14编制人签字
     */
    private String otherMeasureEditorSign;

    /**
     * 确认人14签字
     */
    private String otherMeasureSign;

    // 5. 安全教育负责人
    // 5.1 作业单位现场负责人
    /**
     * 实施安全教育人签字（安全员或副主任）
     */
    private String safeEducationSign;

    /**
     * 作业单位现场负责人签字：
     */
    private String sceneLeadSign;

    // 5.2 属地单位安全员
    /**
     * 属地单位安全员签字
     */
    private String possessionSafeSign;

    // 5.3 归口管理单位安全员
    /**
     * 归口管理单位现场负责人签字
     */
    private String centralizeManageLeaderSign;

    // 6.生产单位负责人
    /**
     * 生产单位意见
     */
    private String productUnitOpinion;

    /**
     * 生产单位签字
     */
    private String productUnitSign;

    /**
     * 生产单位签字时间
     */
    private Date productUnitTime;


    // 7.作业单位负责人
    /**
     * 作业单位负责人意见
     */
    private String workUnitOpinion;

    /**
     * 作业单位签字
     */
    private String workUnitSign;

    /**
     * 作业单位签字时间
     */
    private Date workUnitTime;


    // 8.审批单位负责人(设备部门)
    /**
     * 审批部门意见
     */
    private String approveUnitOpinion;

    /**
     * 审批部门签字
     */
    private String approveUnitSign;

    /**
     * 审批部门签字时间
     */
    private Date approveUnitTime;


    // 9.审核单位(安环部)
    /**
     * 审核部门意见
     */
    private String checkUnitOpinion;

    /**
     * 审核部门签字
     */
    private String checkUnitSign;

    /**
     * 审核部门签字时间
     */
    private Date checkUnitTime;


    // 10.完工验收
    // 10.1 监护人签收
    /**
     * 完工验收意见
     */
    private String finishCheckOpinion;

    /**
     * 完工验收签字
     */
    private String finishCheckSign;

    /**
     * 完工验收签字时间
     */
    private Date finishCheckTime;

    // 作业单位验收


    // 其他
    /**
     * 该表的创建时间
     */
    private Date createTime;

    /**
     * 该表的更新时间
     */
    private Date updateTime;

    /**
     * 当前步骤。大步骤
     */
    private Integer currentStep;

    /**
     * 操作人id列表
     */
    private String operatorIds;

    /**
     * 可编辑字段列表
     */
    private String editableField;



    /**
     * 申请人是否提交。0表示仍未编辑，1表示完成编辑。
     */
    private Integer isCommit1 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit2 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit3 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit4 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit5 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit6 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit7 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit8 = 0;

    /**
     *
     */
    private Integer isCommit9 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit10 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit11 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit12 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit13 = 0;

    /**
     * 是否提交
     */
    private Integer isCommit14 = 0;


}
